package com.stylefeng.guns.modular.system.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 列模型设置
 * </p>
 *
 * @author greedwind
 * @since 2018-10-26
 */
@TableName("sys_col_model")
public class ColModel extends Model<ColModel> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 表名
     */
    @TableField("table_name")
    private String tableName;
    /**
     * 列名
     */
    @TableField("col_name")
    private String colName;
    /**
     * 类属性名：entity Name
     */
    @TableField("entity_name")
    private String entityName;
    /**
     * index: jqgrid的colmodel中index, 传到服务器端用来排列用的列名称。有可能和name不同
     */
    @TableField("index_name")
    private String indexName;
    /**
     * 数据类型: 数据类型的简单归类numeric，text，date, boolean等
     */
    @TableField("col_simple_type")
    private String colSimpleType;
    /**
     * 列标题
     */
    @TableField("col_label")
    private String colLabel;
    /**
     * 主键
     */
    @TableField("is_key")
    private Boolean isKey;
    /**
     * 可用: 是否生成此列
     */
    @TableField("is_gen")
    private Boolean isGen;
    /**
     * 隐藏：是否隐藏
     */
    private Boolean hidden;
    /**
     * 列宽：默认列的宽度，只能是象素值，不能是百分比
     */
    private Integer width;
    /**
     * 对齐：left, center, right.
     */
    private String align;
    /**
     * 可搜:在搜索模式下，定义此列是否可以作为搜索列
     */
    private Boolean search;
    /**
     * 变宽：是否可以改变列宽
     */
    private Boolean resizable;
    /**
     * 列宽可变：列宽度是否要固定不可变
     */
    private Boolean fixed;
    /**
     * 可排序
     */
    private Boolean sortable;
    /**
     * 搜索比较符：此参数只用到单列搜索上，说明搜索条件。可用值：['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc']意 思为['equal','not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain']
     */
    @TableField("search_options_sopt")
    private String searchOptionsSopt;
    /**
     * 搜索参数：searchoptions中其他设置
     */
    @TableField("search_options_extra")
    private String searchOptionsExtra;
    /**
     * 格式：对列进行格式化时设置的函数名或者类型
     */
    private String formatter;
    /**
     * 原值格式：对单元格进行反格式化时设置的函数名
     */
    private String unformat;
    /**
     * 选择列表：是否是选择列表
     */
    @TableField("fd_select")
    private Boolean fdSelect;
    /**
     * 多选?：下拉列表是否多选
     */
    private Boolean multiple;
    /**
     * 关联表: ref_table. 此字段和指定表有约束关系
     */
    @TableField("ref_table")
    private String refTable;
    /**
     * 值字段: 关系：ref_table.ref_key_field=table_name.col_name 此字段和指定表的字段有约束关系
     */
    @TableField("ref_key_field")
    private String refKeyField;
    /**
     * 说明字段: 此 ref_table.ref_key_field 的相应说明，比如 1 代表 “有效”
     */
    @TableField("ref_desc_field")
    private String refDescField;
    /**
     * 过滤条件：关联表过滤条件where
     */
    @TableField("ref_filter")
    private String refFilter;
    /**
     * 搜索列表数据源url：只有stype:'select'才起效
     */
    @TableField("s_dataurl")
    private String sDataurl;
    /**
     * 编辑列表数据源url：只有formatter:'select'才起效
     */
    @TableField("e_dataurl")
    private String eDataurl;
    /**
     * 可编辑
     */
    private Boolean editable;
    /**
     * 编辑参数：editoptions中其他设置
     */
    @TableField("edit_options_extra")
    private String editOptionsExtra;
    /**
     * 生成列表值：对于小数据量可以直接生成下拉列表值（建议）
     */
    @TableField("gen_ref_var")
    private Boolean genRefVar;
    /**
     * 列设置:行设置最终脚本
     */
    @TableField("col_setting")
    private String colSetting;
    /**
     * 排序号
     */
    @TableField("sort_num")
    private Integer sortNum;
    /**
     * 创建时间
     */
    private Date created;
    /**
     * 修改时间
     */
    private Date modified;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getColName() {
        return colName;
    }

    public void setColName(String colName) {
        this.colName = colName;
    }

    public String getEntityName() {
        return entityName;
    }

    public void setEntityName(String entityName) {
        this.entityName = entityName;
    }

    public String getIndexName() {
        return indexName;
    }

    public void setIndexName(String indexName) {
        this.indexName = indexName;
    }

    public String getColSimpleType() {
        return colSimpleType;
    }

    public void setColSimpleType(String colSimpleType) {
        this.colSimpleType = colSimpleType;
    }

    public String getColLabel() {
        return colLabel;
    }

    public void setColLabel(String colLabel) {
        this.colLabel = colLabel;
    }

    public Boolean getKey() {
        return isKey;
    }

    public void setKey(Boolean isKey) {
        this.isKey = isKey;
    }

    public Boolean getGen() {
        return isGen;
    }

    public void setGen(Boolean isGen) {
        this.isGen = isGen;
    }

    public Boolean getHidden() {
        return hidden;
    }

    public void setHidden(Boolean hidden) {
        this.hidden = hidden;
    }

    public Integer getWidth() {
        return width;
    }

    public void setWidth(Integer width) {
        this.width = width;
    }

    public String getAlign() {
        return align;
    }

    public void setAlign(String align) {
        this.align = align;
    }

    public Boolean getSearch() {
        return search;
    }

    public void setSearch(Boolean search) {
        this.search = search;
    }

    public Boolean getResizable() {
        return resizable;
    }

    public void setResizable(Boolean resizable) {
        this.resizable = resizable;
    }

    public Boolean getFixed() {
        return fixed;
    }

    public void setFixed(Boolean fixed) {
        this.fixed = fixed;
    }

    public Boolean getSortable() {
        return sortable;
    }

    public void setSortable(Boolean sortable) {
        this.sortable = sortable;
    }

    public String getSearchOptionsSopt() {
        return searchOptionsSopt;
    }

    public void setSearchOptionsSopt(String searchOptionsSopt) {
        this.searchOptionsSopt = searchOptionsSopt;
    }

    public String getSearchOptionsExtra() {
        return searchOptionsExtra;
    }

    public void setSearchOptionsExtra(String searchOptionsExtra) {
        this.searchOptionsExtra = searchOptionsExtra;
    }

    public String getFormatter() {
        return formatter;
    }

    public void setFormatter(String formatter) {
        this.formatter = formatter;
    }

    public String getUnformat() {
        return unformat;
    }

    public void setUnformat(String unformat) {
        this.unformat = unformat;
    }

    public Boolean getFdSelect() {
        return fdSelect;
    }

    public void setFdSelect(Boolean fdSelect) {
        this.fdSelect = fdSelect;
    }

    public Boolean getMultiple() {
        return multiple;
    }

    public void setMultiple(Boolean multiple) {
        this.multiple = multiple;
    }

    public String getRefTable() {
        return refTable;
    }

    public void setRefTable(String refTable) {
        this.refTable = refTable;
    }

    public String getRefKeyField() {
        return refKeyField;
    }

    public void setRefKeyField(String refKeyField) {
        this.refKeyField = refKeyField;
    }

    public String getRefDescField() {
        return refDescField;
    }

    public void setRefDescField(String refDescField) {
        this.refDescField = refDescField;
    }

    public String getRefFilter() {
        return refFilter;
    }

    public void setRefFilter(String refFilter) {
        this.refFilter = refFilter;
    }

    public String getsDataurl() {
        return sDataurl;
    }

    public void setsDataurl(String sDataurl) {
        this.sDataurl = sDataurl;
    }

    public String geteDataurl() {
        return eDataurl;
    }

    public void seteDataurl(String eDataurl) {
        this.eDataurl = eDataurl;
    }

    public Boolean getEditable() {
        return editable;
    }

    public void setEditable(Boolean editable) {
        this.editable = editable;
    }

    public String getEditOptionsExtra() {
        return editOptionsExtra;
    }

    public void setEditOptionsExtra(String editOptionsExtra) {
        this.editOptionsExtra = editOptionsExtra;
    }

    public Boolean getGenRefVar() {
        return genRefVar;
    }

    public void setGenRefVar(Boolean genRefVar) {
        this.genRefVar = genRefVar;
    }

    public String getColSetting() {
        return colSetting;
    }

    public void setColSetting(String colSetting) {
        this.colSetting = colSetting;
    }

    public Integer getSortNum() {
        return sortNum;
    }

    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public Date getModified() {
        return modified;
    }

    public void setModified(Date modified) {
        this.modified = modified;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "ColModel{" +
        "id=" + id +
        ", tableName=" + tableName +
        ", colName=" + colName +
        ", entityName=" + entityName +
        ", indexName=" + indexName +
        ", colSimpleType=" + colSimpleType +
        ", colLabel=" + colLabel +
        ", isKey=" + isKey +
        ", isGen=" + isGen +
        ", hidden=" + hidden +
        ", width=" + width +
        ", align=" + align +
        ", search=" + search +
        ", resizable=" + resizable +
        ", fixed=" + fixed +
        ", sortable=" + sortable +
        ", searchOptionsSopt=" + searchOptionsSopt +
        ", searchOptionsExtra=" + searchOptionsExtra +
        ", formatter=" + formatter +
        ", unformat=" + unformat +
        ", fdSelect=" + fdSelect +
        ", multiple=" + multiple +
        ", refTable=" + refTable +
        ", refKeyField=" + refKeyField +
        ", refDescField=" + refDescField +
        ", refFilter=" + refFilter +
        ", sDataurl=" + sDataurl +
        ", eDataurl=" + eDataurl +
        ", editable=" + editable +
        ", editOptionsExtra=" + editOptionsExtra +
        ", genRefVar=" + genRefVar +
        ", colSetting=" + colSetting +
        ", sortNum=" + sortNum +
        ", created=" + created +
        ", modified=" + modified +
        "}";
    }
}
